<?php

// identifiants MySQL
define('SQL_HOST', '127.0.0.1');
define('SQL_USER', 'adrenaline-test');
define('SQL_PASS', 'abc123');
define('SQL_NAME', 'Adrenaline');


/**
 * Savoir s'il faut inscrire la requête en cours dans log.txt
 * @param query: la requete dont il est question
 * @return true s'il faut inscrire l'action dans le log, false sinon
 */
function is_loggable($query)
{
	$admin_status = array('ADMIN', 'MODERATOR');
	return $_SESSION['is_connect'] && in_array($_SESSION['status_code'], $admin_status) && preg_match('/INSERT|UPDATE|DELETE/i', $query);
}


/**
 * Connexion au serveur MySQL et sélection de la base de données
 */
function sql_connect()
{
	mysql_connect(SQL_HOST, SQL_USER, SQL_PASS) or die(mysql_error());
	mysql_select_db(SQL_NAME) or die(mysql_error());
	mysql_query('SET CHARACTER SET utf8');
}


/**
 * Effectuer une reqûete SQL (die si erreur)
 * Enregistre une ligne dans le fichier de log si besoin
 */
function sql_query($query)
{
	if(is_loggable($query)) {
		log_action($_SERVER['REMOTE_ADDR'], $_SESSION['status_code'], $_SESSION['name'], $_SESSION['firstname'], $_SESSION['email'], $query);
	}
	/* Dev */
	$handle = mysql_query($query) or die('MySQL query error : '.mysql_error().'<br /><br />'.nl2br($query));
	// $handle = mysql_query($query) or die('MySQL query error, please contact an admin'); // A commenter pour dev
	return $handle;
}
